home *** CD-ROM | disk | FTP | other *** search
Text File | 1986-06-04 | 56.4 KB | 1,717 lines |
-
-
-
- Djinn 4.3 +/- 0.3 manual (p.1)
-
-
-
-
-
-
- Brief Introduction to
- Djinn Version 3.6 +/- 0.3
- Bard Bloom
- January 25, 1986
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Djinn 4.3 +/- 0.3 manual (p.2)
-
-
-
-
-
-
-
-
- Chapter 1
-
- Introduction
-
-
- The Djinn, or genies, are powerful creatures created from fire, with
- many wondrous powers. The more famous (among mortals) Djinn were those
- imprisoned in bottles and lamps, such as the lamp of Alladin: mighty
- servants with great and mystic powers.
-
- This particular Djinn is a directory manager, a program that allows
- you to do the sorts of things that DOS does, but much more easily.
- Djinn is to DOS as a full-screen editor is to EDLIN. Djinn includes an
- excessive number of features, including:
- - Copying, Renaming, Deleting Files
-
- - Moving files from directory to directory
-
- - Editing Files with your favorite editor
-
- - Creating/Appending to files
-
- - Typing files a page at a time (with commands to search, skip, and
- restart)
-
- - Scientific Calculator
-
- - Tree search of directory for files
-
- - DOS shell
-
- - DOS-command macros
-
- The first few sections of this manual are essential. You can skip
- the rest if you must; but if you use Djinn you should read them.
-
-
- 1.1 Requirements
-
-
- Djinn should run on any MS-DOS machine with 128K of memory. More
- memory, a RAMdisk (even a small one) and a hard disk will all help. It
- works best on a DEC Rainbow. Non-Rainbows must have ANSI.SYS installed.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Djinn 4.3 +/- 0.3 manual (p.3)
-
-
- 1.2 Starting Djinn the First Time
-
-
- If you do unusual things with your computer (e.g., change COMSPEC)
- then you should read the sections telling how to do unusual things with
- Djinn.
-
- 1. If you don't have a Rainbow, and if you don't have ANSI.SYS
- installed, include the line "DEVICE=ANSI.SYS" in the CONFIG.SYS
- file on your system disk. Reboot your system.
-
- 2. Leave the system disk in the drive it usually starts in. (This is
- not essential; but you can't use some commands -- editing and
- system calls -- if it is not there. Any disk with the file
- COMMAND.COM on it will do.)
-
- 3. [optional] Edit the file DJINN.CNF to change options to fit your
- computer. If you have a Rainbow or IBM PC clone, you will want to
- change the COMPUTER= line.
-
- 4. Have the files DJINN.COM, DJINN.000, and DJINN.CNF in the same
- directory. Type the DOS command "SET DJINN=directory". E.g., if
- the files are in E:\COM\DJINN, type "SET DJINN=E:\COM\DJINN". You
- may put this line in AUTOEXEC.BAT.
-
- 5. Read the first few sections of the manual, if you haven't already.
- There are summaries of the commands and the input editor at the
- end, too.
-
- 6. Run Djinn, by typing "DJINN path" to DOS. If you don't specify a
- path, Djinn uses the current directory.
-
- 7. If you like Djinn and expect to use it, contribute $25 to Bard
- Bloom, Apt 1A, 26 Inman St., Cambridge, Mass 02139. If you are
- using this program for business, the contribution is not voluntary
- but probably is a business expense, and probably the business
- should pay it.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Djinn 4.3 +/- 0.3 manual (p.4)
-
-
-
-
-
-
-
-
- Chapter 2
-
- Using Djinn
-
-
- 2.1 The Screen
-
-
- Normally, most of the screen is devoted to a list of filenames.
- Each filename has the size of the file in kilobytes ("0k" = empty;
- "tiny" = less than 1/2 k; "dir" = directory; "vol" = volume name.), and
- possibly a couple of extra marks. A "+" marks files that are hidden,
- read-only, or system. You can "tag" files for use with multiple-file
- commands (e.g., "Delete all the tagged files"); tagged files are marked
- by "*".
-
- One filename is marked in reverse video; the current file. You can
- do many things (e.g., "delete a single file" by pointing to a file and
- pressing a command.)
-
- The top line of the screen gives some useful information: the name
- and version number of Djinn; the directory that you are in at the
- moment; the date and time. The date and time are approximate; they are
- updated whenever Djinn executes a command.
-
- The bottom few lines of the screen give more information.
-
- If you want, you can have information (precise size, date and time
- of creation, attributes) about the current file displayed on the fourth
- to last line. This slows the program down considerably except on a
- Rainbow, and you can get the information easily when you want it.
-
- The third-to-last line tells what the editor is, and how many files
- there are in the current directory. Djinn does not include an editor --
- it would be hard to write one that satisfied myself, much less anyone
- else. The editing commands of Djinn invoke your editor (assuming that
- there is space).
-
- The second to last line gives the Space Tagged (the total size of
- the tagged files), the Total Size of files in this directory, and the
- Space Left on this disk.
-
- The last line is normally used for messages and prompts.
-
- Some messages, mostly warnings, mostly blinking, go away when you
- press a key. The message "[Smite thou a key]" is the most common of
- these. You can change drives or directories at this prompt; pressing
- the "G" and "H" keys acts as the "Go To Path" and "H:Go To Drive"
- commands.
-
-
-
-
-
-
-
-
- Djinn 4.3 +/- 0.3 manual (p.5)
-
-
- 2.2 Aborting Things
-
-
- The keys <ESCAPE> and Control-Z (^Z) cancel a command.
-
- You can leave Djinn by typing "X", or ½Exit╗ on a Rainbow.
-
-
- 2.3 The Input Editor
-
-
- Whenever Djinn asks for more than one letter, it gives you a sort
- of one-line word processor to type with. ^A is Control-A. ½Find╗ is
- the Find key on the Rainbow keyboard; if ½╗ don't look like double angle
- brackets to you, you probably don't have a Rainbow. IBM compatible keys
- are given in [brackets]. The following editing commands work:
-
-
- Forward Character ^F or Rainbow/IBM cursor keys
- Backward Character ^B or Rainbow/IBM cursor keys
- Forward Word ^Y or ½Next Screen╗ or [control-
- right]
- Backward Word ^W or ½Prev Screen╗ or
- [control-left]
- End of Line ^E or ½Remove╗ or [end]
- Start of Line ^A or ½Insert Here╗ or [home]
-
- Delete Next Char. ^D or ½Select╗ or [Del]
- Delete Last Char. <DEL> or <X]
- Delete Next Word ^V or ½Addtnl Options╗
- Delete Last Word ^H or ½F12╗
- Delete to End of Line ^K or ½Find╗
- Delete Entire Line ^U or ½Exit╗
-
- Transpose last two character ^I or <TAB> or ½Tab╗
- Insert Control Character ^Q (then type the control
- character:^A)
- Insert Name of Current File ^R
- Insert Name of Current Path ^G
- Insert Last Item Deleted ^J
-
- Quit ^Z or ½Cancel╗
-
- Djinn remembers the last fifty or so lines that you typed. You can
- recall an old line by pressing the Up-arrow key (or ^P) repeatedly.
- (Naturally, ^N or Down-arrow gives you more recent lines.) You can edit
- the line. Pressing <RETURN> will send it to Djinn.
-
- The ^R and ^G (insert filename and path) are merely typing
- conveniences.
-
-
-
-
-
-
-
-
-
-
-
-
-
- Djinn 4.3 +/- 0.3 manual (p.6)
-
-
- 2.4 The Most Useful Commands
-
-
- Djinn has a lot of commands, some of which are very specialized.
- Even the commands given here have subtleties that most people won't want
- to know about. All things are revealed in the section on "Hairy
- Details".
-
- Djinn accepts uppercase and lowercase letters.
-
- Many commands ask you a question followed by "[y/n/v]" (e.g.,
- "Delete the files? [y/n/v]"). "Y" and "n" mean "yes" and "no". "V"
- means "verify", which prompts you individually for each file. The
- prompt for each file asks you "[(y)/n/All/Quit]". "y" (or most other
- keys) mean "yes" and "n" means "no", as usual. "A" means "all the
- rest", and "Q" means "none of the rest".
-
- In general, when a command asks you for something, you can cancel
- the command by pressing ^Z or <ESCAPE>.
-
-
- 2.4.1 Moving the Cursor
-
-
- Arrow keys (on IBM and Rainbow) move the cursor. The edges of the
- screen wrap around; try them.
-
- I, J, K, and <Space> form a keypad for the right hand, and work just
- like the arrow keys.
-
- ^I and ^M move the cursor up and down, keeping it in the same column
- when they wrap around.
-
- F finds a file. You type the name of the file, one character at a time;
- with patterns as you wish. After each character, Djinn moves
- the cursor to the next file that matches the current pattern.
- The usual delete keys delete the last letter and go back to the
- last position. The space bar finds the current pattern again.
- Most other keys, including <RETURN> and ";", stop Finding. The
- "\" and "/" characters are special -- if either appears in the
- file name, F will look for any directory rather than a file.
-
- ^F: find the next file matching the last F pattern. If you haven't used
- an F, this will look for the next directory.
-
- ",": Go to first file. Moves the cursor to the upper left-hand corner
- of the screen.
-
-
-
- 2.4.2 Changing Directories
-
-
- G: Go to path. Type a path name (e.g., "A:\GRYPHON\NEST"), and Djinn
- will go to that path.
-
-
-
-
-
-
-
-
- Djinn 4.3 +/- 0.3 manual (p.7)
-
-
- H: Go To Drive. Type a single letter for the name of the drive to go
- to.
-
- L and ½Find╗: Descend Directory. If the cursor is on a directory rather
- than a file ("dir" rather than a size), Djinn will move into
- that subdirectory.
-
- ".": Ascend Directory. This will go up one level in the directory tree.
-
- "[": Remember Directory. This memorizes the name of the current
- directory, for the "]" command to deal with.
-
- "]": Go To Remembered Directory. Pressing this goes to the directory
- stored with the "[" command. It also saves the current
- directory, so that you can switch back and forth between them by
- repeated "]" commands.
-
- ^L, ";": Look at new disk. When you change the disk that Djinn is
- looking at, this command will tell Djinn to look at the new
- disk. If you don't, *probably* nothing bad will happen.
-
- W: Whereis File. This looks at the current directory and all
- directories under it for a file pattern. It moves to the
- directory where it finds it.
-
- ^W: Whereis File from anywhere. This looks at and under a directory
- that you specify for a file pattern, like W.
-
-
-
-
- 2.4.3 File Management
-
-
-
- C: Copy File. This copies the current file to somewhere. You tell
- Djinn where. You can give a full name
- ("B:FNIRGAL\EDITOR\FLIB.COM"), or use "*.*" much as in DOS.
- (copying "FLIB.COM" to "B:*.*" or simply "B:*" copies it to
- drive B:; to "B:*.OLD" names the copy on B: "FLIB.OLD".) NOTE:
- Djinn normally prompts you if you are about to overwrite an
- existing file. "Y" and "n" are "yes" and "no". Other options
- are advanced.
-
- ^C: Copy the tagged files. Generally like C. "All" on the prompt for
- overwriting files will tell Djinn to overwrite all the files in
- the current batch.
-
- D and ½Remove╗: Delete the current file or directory. You have one
- chance to save them. If you try to delete a non-empty
- directory, Djinn will forbid you.
-
- ^D: Delete the tagged files. You have one or two chances to save them,
- one at the [y/n/v] and possibly another at each file if you
- pressed "v".
-
-
-
-
-
-
-
-
- Djinn 4.3 +/- 0.3 manual (p.8)
-
-
- R: Rename/move the current file. If you give it a path on the current
- disk as well as a name, it will move it to that path. Renaming
- "\FOO.PAS" to "\SOURCES\FOO.PAS" will move the file.
-
- ^R: Rename/move the tagged files.
-
- V and ½Next Screen╗: View Current File. This prints the current file 20
- lines at a time. This "cooks" the file, transforming control
- characters to a visible form so that they don't screw up your
- screen. "P" is similar, but doesn't cook the file. After each
- screen, it asks what you want to do on a small menu. The most
- useful choices are:
- <SPACE> ---------- Next 20 lines
- Q ---------------- Quit.
- X ---------------- Quit Immediately.
- ? ---------------- Help. A bit cursory.
- S ---------------- Skip some lines. (asks for how many)
- R ---------------- Restart the file from the beginning.
- V ---------------- Go backwards (roughly) a page.
-
-
- ^V: View Any File. Like "V", but you give the filename.
-
- Y: Copy File To Drive. The most common case of copying is copying from
- one drive to another. "Y" does this, asking for the name of the
- drive.
-
- ^Y: Copy Tagged Files to Drive. Like ^C, except that it only asks for
- the name of a drive.
-
- "\": Make Directory.
-
-
-
- 2.4.4 Tagging Files
-
-
- T and ½Select╗: Tag the current file.
-
- ^T: Tag all files that match a pattern. Press <RETURN> to tag all
- files. This does not tag directories.
-
- U and ½Prev Screen╗: Untag file
-
- ^U: Untag all files that match a pattern.
-
- ^H: Retag Files. This puts tags on all the files that were tagged
- before the last operation.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Djinn 4.3 +/- 0.3 manual (p.9)
-
-
-
- 2.4.5 File Creation and Modification
-
-
-
- E or ½Insert Here╗: Edit current file. This calls the editor (as you
- have defined it) on the current file. It does require space for
- the editor as well as for Djinn; an editor that normally runs on
- and uses all of a 128K machine won't work, since Djinn takes too
- much of its memory. EDLIN, the rather lousy editor that comes
- with DOS, will usually work if nothing else will; but you'll
- probably want to leave Djinn for long edits. Get more memory --
- it's cheap and makes a big difference. The editor is defined in
- the DJINN.CNF file.
-
- ^E: Edit any file. Like E, except that it asks for the name of the file
- to edit.
-
- 0 through 9: These keys act like the E command, calling a program or DOS
- command on a file. They, too, are defined in DJINN.CNF. See
- the section on macros for more details.
-
- M: Make new file. This is the same as ^E -- it lets you specify a
- filename and then calls the editor.
-
-
-
-
- 2.4.6 Running Programs
-
-
-
- B or ½Do╗: Run current file.
-
- ' (single quote): Execute a DOS command on the current file. If you
- wanted to TYPE the current file, put the cursor on it, press
- "'", and type TYPE.
-
- " (double quote): Execute a DOS command on each tagged file. The mass
- version of ' (single quote). This is useful for simulating
- commands that Djinn doesn't have. For example, to print a
- collection of files with the DOS PRINT command, tag them and use
- ".
-
- S: System command. You type a line, and DOS executes it. Most DOS
- commands work here. SET does not.
-
- ^S: File as System Command. Runs the current file, prompting you for
- arguments.
-
- ^G: Inferior DOS shell. This puts you into a new DOS. Type EXIT to get
- back to Djinn.
-
-
-
-
-
-
-
-
-
-
-
- Djinn 4.3 +/- 0.3 manual (p.10)
-
-
-
- 2.4.7 Misc
-
-
-
- N: Calculator. Call the calculator once. See the section on the
- calculator to tell how to use it.
-
- ^N: Calculate Lots. Repeatedly call the calculator, until you exit with
- ^Z or <ESCAPE> or a blank line.
-
- X and ½Exit╗: Exit Djinn.
-
- ^X: Reread the DJINN.CNF file. If you have edited it, Djinn's internal
- switches are changed.
-
- "-": Redraw Screen. (This updates the time, too.)
-
- "=": Information about current file. Gives size in bytes; date and
- time; and attributes.
-
- "~": Set File Attributes. You can make a file Read-Only, Archived,
- Hidden, or System. You must give the initials of all the
- attributes you want the file to have.
-
- "_": Mass Set File Attributes. This lets you change the attributes of
- lots of files at once.
-
- "{" and "}": See the section on "Handling Huge Directories".
-
- "?" and ½Help╗: help.
-
- "/": Restrict Files. This causes Djinn to look only at files that match
- a pattern. You can go back to looking at all files by giving an
- empty pattern.
-
- "&": Status Report. Includes a plea for money.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Djinn 4.3 +/- 0.3 manual (p.11)
-
-
-
-
-
-
-
-
- Chapter 3
-
- Unusual Cases
-
-
- 3.1 Handling Huge Directories
-
-
- When a directory has more than about 80 files, the listing of files
- will not fit on one screen. Djinn warns you of this. The "Files:"
- number becomes three numbers, and blinks. It starts off something like
- "Files: [0]132[52] More Files...", flashing (for a directory with 132 =
- 0 + 80 + 52 files).
-
- Djinn only looks at 80 files at a time. The files are consecutive
- in the directory (e.g., the first 80 files that you would see with a DIR
- command in DOS). You can change the set of files you are looking at
- with the "{" and "}" commands. "}" moves the window of 80 files forward
- by 40 files; "{" moves it backward 40 files. The first number in
- brackets is the number of files before the window; the second is the
- number in the directory, and the third is the number after the window.
-
- These commands are admittedly clumsy. Djinn has no way of
- manipulating files off the screen. If you use huge directories a lot,
- write to me and I may do something about it. (Suggestions are welcome.)
- If you also send money, I am considerably more likely to do something.
-
-
- 3.2 The Vaguely Scientific Calculator
-
-
- The Vaguely Scientific Calculator is a desk calculator of modest
- quality. You could probably buy a dimestore calculator that did the
- 1
- same things for about $35. You give it expressions in standard
- algebraic notation, and it gives you answers. It does arithmetic with
- about ten significant figures, with numbers between 1E-38 and 1E38.
- 38
- (This is a computer's exponential notation: it is hard to write 1x10
- on a single line.)
-
- The basic operations: +, -, * (multiplication), and / (division),
- work as you expect them to. "4+3*7" computes to 25. Parentheses work
-
- -----------
-
- 1. As Djinn costs only $25 even if you pay for it, you are getting quite
- a bargain. All you have to do is carry your computer around in your
- side pocket, which is probably a good idea anyways.
-
-
-
-
-
-
-
-
- Djinn 4.3 +/- 0.3 manual (p.12)
-
-
- normally, and you should use them whenever there are two reasonable ways
- for the computer to read your expression. "4/5*6" might mean either
- "(4/5)*6" or "4/(5*6)" -- most programmers are used to the second, most
- nonprogrammers would expect the first. Use parentheses.
-
- There are 26 variables, "a" through "z". You can put things into
- them with the "="-sign:
-
- a = 5-21/5
-
- and take them out by mentioning the variable name:
-
- b = 3-a/(a+1) - 4*a/3
-
- The result of the last calculation is stored in "@", which you may use
- like a variable:
-
- @+3
-
- adds three to the last answer. The variables keep their values between
- calculations, as long as you stay inside Djinn.
-
- The Input Editor works in the Vaguely Scientific Calculator.
-
- The calculator has some scientific functions: sin, cos, tan,
- arcsin, arccos, arctan, exp, ln, log, lg, sqrt, fact, abs. "Ln" is
- natural logarithm, "log" is logarithm base 10, and "lg" is logarithm
- base 2. "Exp" is anti-natural-logarithm, "e" raised to a power. All
- these functions take their argument in parentheses:
- sin(exp(arcsin(0.2)). "^" is exponentiation: 2^4=16.
-
- The calculator has some integer functions as well. These convert
- their arguments into 16-bit signed integers, if this is possible. AND,
- OR, XOR, and NOT work bitwise. MOD and DIV work as in Pascal.
-
- You may have string together several calculations by putting
- semicolons ";" between them.
-
- WARNING: The calculator accepts some mis-typed expressions, like "3
- 4 +". Some of these give reasonable answers (that one gives 7). Others
- give completely silly answers.
-
- WARNING: Some math errors will crash Djinn. Other math errors will
- cause the Vaguely Scientific Calculator to insult you, departing
- 2
- considerably from Djinn's usual mild manners. You can turn this off
- with INSULTS=NO in DJINN.CNF.
-
- -----------
-
- 2. Read, "obsequious"
-
-
-
-
-
-
-
-
-
-
-
-
- Djinn 4.3 +/- 0.3 manual (p.13)
-
-
- 3.3 Hints
-
-
- DJINN.000 is a file of overlays; a number of common procedures,
- including View File and Append, use it. If you have a RAMdisk, put
- DJINN.CNF and DJINN.000 on it and set the DOS variable DJINN to the name
- of the RAMdisk.
-
- If you also have a copy of COMMAND.COM on the RAMdisk, you can set
- the system variable COMSPEC (e.g., to E:\COMMAND.COM -- the full name of
- the file). This will speed up system commands, execution of programs,
- and editing. It also makes DOSCOPY=YES faster than DOSCOPY=NO.
-
-
- 3.4 Doing Unusual Things with Djinn
-
-
- Djinn uses patterns that look generally like DOS patterns, but they
- are somewhat better. The wildcard character "*" will match any string
- of characters. So, "A*X" matches "AX" and "ANTHRAX" and "A()()X", but
- does not match "AY". If you type "A*X" as a DOS pattern, it will match
- "AY".
-
- Djinn calls programs through the command processor, as defined by
- the COMSPEC system variable. Normally, it will be something like
- "A:\COMMAND.COM", so Djinn will reload COMMAND.COM from drive A: every
- time you execute another program. This is slow and noisy. If you have
- a Ramdisk, you can copy COMMAND.COM onto it and use that copy. The
- following lines in your AUTOEXEC.BAT file will do it automatically:
-
- COPY A:COMMAND.COM E:\COMMAND.COM (Use the name of the
- Ramdisk instead of E)
- SET COMSPEC=E:\COMMAND.COM
-
- If you are using a different shell, I make no promises about how
- Djinn will behave.
-
-
- 3.5 Things you can do with DJINN.CNF
-
-
- The file DJINN.CNF gives you a good deal of control over how Djinn
- behaves. Some of the commands are simple enough; others are mainly for
- hackers. The commands in DJINN.CNF must be given one to a line, with no
- extraneous character except spaces. Lines starting with semicolons are
- comment lines. If Djinn can't understand a line, it ignores it.
-
- COMPUTER = IBM or RAINBOW or RB-TECHROM or MSDOS. This tells Djinn what
- kind of computer you have. At the moment, the difference
- between IBM and MSDOS is minimal, and IBM will work for IBM
- compatibles. RB-TECHROM means, Rainbow with the Technical
- Character Set ROM installed, and I hope it works 'cause I
- haven't been able to check it.
-
-
-
-
-
-
-
-
-
-
- Djinn 4.3 +/- 0.3 manual (p.14)
-
-
- EDITOR = xxxx. When Djinn calls the editor on a file named "ffff.ext",
- it effectively executes the DOS command "xxxx ffff.ext". This
- is where you define "xxxx". For example, my editor is FinalWord
- on drive E:; I have the line EDITOR = E:FW.
-
- 0 = xxxx, 1 = yyyy, ..., 9 = zzzz. The keys 0 through 9 act like the E
- key, running DOS programs on a given file.
-
- AUTOINFO = YES or NO. YES tells Djinn to display information about the
- file under the cursor. NO requires you to get this information
- by hand, with the "=" command, when you want it. NO lets the
- cursor move much faster.
-
- UNSAFECOPY = YES or NO. Normally Djinn checks to see if you are
- overwriting a file with a copy (copying ONE.FIL to ANOTHER.FIL,
- and ANOTHER.FIL is already a file). You can turn this off by
- setting UNSAFECOPY = YES.
-
- DOS-COPY = YES or NO. With NO, Djinn uses its own procedure to copy
- files; with YES, it calls DOS. The main advantage of DOS is
- that it allows the /V (verify) flag.
-
- INSULTS = YES or NO. If you do something illegal in the calculator,
- like dividing by zero, the calculator will insult you ("Ha! An
- error! I bet you have emotions as well, Human!"). If you
- dislike this childish display of humor, you can turn it off with
- INSULTS=NO.
-
- LONG-ATTRIBUTES = YES or NO. When Djinn tells you what attributes a
- file has, it can use words ("hidden", "archived", "read-only")
- or abbreviations ("hid", "arc", "R/O"). With the words, the
- list of attributes may run off the edge of the screen.
-
- FINDPAUSE = YES or NO. Normally View File and relatives pause every 100
- lines when searching for a string, and ask if you want to
- continue. NO lets you turn this off; Djinn still prints the
- line numbers every 100 lines so that you know it's doing
- something.
-
- FINDMESSAGE = number. Changes the "100" in the previous command.
-
- TRY-LAE = YES or NO. Djinn normally runs programs by calling
- COMMAND.COM. This requires reading COMMAND.COM, and takes extra
- memory. With TRY-LAE, Djinn will try loading and executing the
- program immediately. I have had problems with TRY-LAE=YES; my
- editor can't find some of its files, I know not why. If TRY-LAE
- works for you, use it. I don't.
-
- DRIVES = dddd. Djinn assumes that you have drives A:, B:, ..., Z:; for
- example, it allows you to try to copy a file to a nonexistant
- drive. In general this is not very helpful. You can tell Djinn
- precisely which drives you have; for example, I have two
- floppies (A: and B:) and one RAMdisk (E:), and use DRIVES=ABE.
-
-
-
-
-
-
-
-
-
-
- Djinn 4.3 +/- 0.3 manual (p.15)
-
-
- 3.6 Bugs and Unpleasant Features
-
-
- You MUST tell Djinn where the files DJINN.000 and DJINN.CNF are, by
- setting the system variable DJINN, unless you start in that directory.
-
- There are probably places where you can get Turbo errors, though I
- have eliminated all that I have found.
-
-
- 3.7 Credits
-
-
- Borland International wrote Turbo Pascal.
-
- Glen Marshall wrote MSDOS.PAS, a collection of system routines for
- Turbo Pascal, which I used for all the hard stuff.
-
- Stew Stryker wrote FASTVID.PAS, a collection of fast video
- routines, which I used a lot also.
-
- Someone anonymous, somewhere on the network, wrote a Quicksort
- routine which I used. Since I can't find this person's name, I'll give
- credit to Hoare who invented the algorithm originally.
-
- Much of the inspiration for writing this came from the VSWEEP
- program written by Gregory L. Meckstroth. (Some of the inspiration was
- from the fact that I couldn't find a copy of VSWEEP with a working COPY
- command.) VSWEEP in turn was inspired by SWEEP (I suppose), which is to
- VSWEEP as a line editor is to a screen editor.
-
- A number of people, especially William Macneill and a peculiar
- entity who calls himself Mark Bornstein, did a lot of beta-testing and
- general encouragement.
-
-
- 3.8 Conditions
-
-
- Djinn is to be distributed with all included files (in particular,
- 3
- this document), without fee , to all who want it. It is not to be
- modified without Bard Bloom's consent. The Turbo Pascal code will be
- distributed separately, after Bard Bloom cleans it up.
-
- Djinn is not intended as a weapon, either directly or indirectly.
- I prefer that it not be used by the armed services of any country or
- other terrorist organizations. This specifically includes the
- Department of Defense and defense contractors, as well as a number of
- groups (e.g., the PLO and the Contras) who are rather unlikely to use
- it. It should not be used by any group devoted even partially to the
-
- -----------
-
- 3. Except for media and copying costs.
-
-
-
-
-
-
-
-
- Djinn 4.3 +/- 0.3 manual (p.16)
-
-
- violent overthrow of any country, or the repression of any segment of
- humanity.
-
- Djinn is copy-protected, in the sense that having many copies
- protects it.
-
- Entities violating these terms are subject to various forms of
- legal and divine retribution. They may be transformed into cubes of
- lime jello and juniper berries. They may be compelled to speak only in
- COBOL, or program computers only in Tagalog. They may be flung into the
- vasty sea by the ghosts of the great authors of the 19th century, or
- into the Amazon by hordes of raving marsupials. Ravens may perch upon
- their computers and utter dark prophecies. Lemurs may perch upon their
- plumbing and chant love poetry in Latin. Wombats may perch upon their
- foreheads and whisper the secrets of New Jersey. (All of these are
- extremely unlikely. Maybe their consciences will bother them, though.)
-
-
- 3.9 Non-Warranty
-
-
- I use the [latest version] of the program myself, extensively. I
- know of no way in which it could damage something if you are careful,
- except as noted in BUGS above.
-
- Of course, if you append a shopping list to the code of your word
- processor, the word processor probably won't work very well after that.
-
- My liability, in the event that Djinn does something nasty, is
- limited to an expression of sympathy and a promise to try to fix Djinn
- sometime if I feel like it. Note that, if you have contributed, I am
- more likely to fix it and send you a fixed copy.
-
-
- 3.10 Plea for Money
-
-
- I am a poor starving graduate student. If you like my program,
- please send me $25 , or whatever you wish to contribute. If you use
- this program for business, this contribution is not optional. Of
- course, the business should pay for it.
-
- Bard Bloom
- 26 Inman St., Apt 1A
- Cambridge, Mass 02139
- ARPAnet: BARD XX.LCS.MIT.EDU
- FIDOnet: Bard Bloom at DEC-line, Fido 202, region 101. Send
- public messages,
- since my name is easy to misread.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Djinn 4.3 +/- 0.3 manual (p.17)
-
-
- 3.11 About the Djinn
-
-
- According to Moslem tradition, Allah created three
- different species of intelligent beings: Angels, who are made
- of light, Jinn ... who are made of fire, and Men, who are made
- of earth. The Jinn were created of a black smokeless fire
- some thousands of years before Adam, and consist of five
- orders. Among these orders we find good Jinn and evil, male
- Jinn and female. The cosmographer al-Qaswini says that "The
- Jinn are aerial animals, with transparent bodies, which can
- assume various forms." At first they may show themselves as
- clouds or as huge undefined pillars; when their form becomes
- condensed, they become visible, perhaps in the bulk of a man,
- a jackal, a wolf, a lion, a scorpion, or a snake. Some are
- true believers; others, heretics or atheists. The English
- Orientalist Edward William Lane writes that when Jinn take the
- shape of human beings they are sometimes of an enormously
- gigantic size and "If good, they are generally resplendently
- handsome; if evil, horribly hideous." They are also said to
- become invisible at pleasure "by a rapid extension or
- rarefaction of the particles which compose them," when they
- may disappear into the air or earth or through a solid wall.
-
- The Jinn often attain the lower heavens, where they
- overhear the conversations of angels about future events. This
- enables them to help wizards and soothsayers. Certain
- scholars attribute to them the building of the Pyramids or,
- under the orders of Solomon, the Great Temple of Jerusalem.
-
- The usual dwelling places of the Jinn are ruined houses,
- water cisterns, rivers, wells, crossroads, and markets. The
- Egyptians say that the pillarlike whirlwinds of sand raised in
- the desert are caused by the flight of an evil Jinnee. They
- also say that shooting stars are arrows hurled by Allah
- against evil Jinn. Among the acts perpetrated by these
- evildoers against human beings the following are traditional:
- the throwing of bricks and stones at passersby from roofs and
- windows, the abduction of beautiful women, the persecution of
- anyone who tries to live in an uninhabited house, and the
- pilfering of provisions. Invoking the name of Allah the All
- Merciful, the Compassionate, is usually enough to secure one
- against such depredations, however.
-
- ...
-
- In 1828, young Victor Hugo wrote a tumultuous fifteen-
- stanza poem ½Les Djinns╗ about a gathering of these beings.
- With each stanza, as the Jinn cluster together, the lines grow
- longer and longer, until the eighth, when they reach their
- fullness. From this point on they dwindle to the close of the
- poem, when the Jinn vanish.
-
-
-
-
-
-
-
-
-
-
-
- Djinn 4.3 +/- 0.3 manual (p.18)
-
-
- Burton and Noah Webster link the word "Jinn" and the Latin
- "genius," which is from the verb "beget". Skeat contradicts
- this.
-
-
- -- The Book of Imaginary Beings
- Jorge Luis Borges with
- Margarita Guerrero
- Trans. Norman Thomas di
- Giovanni,
- Discus Books, 1967, 1969.
-
-
- My use of "Djinn" as a singular disagrees with the proper
- Arabic. I am, however, speaking English.
-
-
- 3.12 Macros
-
-
- Djinn allows you to define ten macros (on keys 0-9) of sorts.
- Actually, eleven macros the E key (Editor) is a macro as well. These
- normally run a DOS program on the current file, after the style of the E
- key; but you can do a number of other things as well.
-
- The normal way of defining a macro is to include a line
-
- 0 = TYPE
-
- in DJINN.CNF. This makes the 0-key type the current file using the DOS
- command. Macros defined thus are present every time you invoke Djinn.
- You can define macros for one run of Djinn by the ^Z command.
-
- [This paragraph is for people who want to do complicated things]
- Normally, these commands put the filename at the end of the string. If
- your editor is FinalWord, the command string would be "FW", and you
- would have a line "EDITOR = FW" in DJINN.CNF. This is usually adequate.
- However, you might want to have a command that has options after the
- filename, such as CHKDSK filespec /F, on the 3 key. Djinn allows you
- to build such commands, using some backquote-letter combinations to
- stand for filenames. For example, "`f" is the filename (with
- extension); you could have the line
-
- 3 = CHKDSK `f /F
-
- in DJINN.CNF. If any backquote sequences (except for "``" which inserts
- a backquote) appear in the command, Djinn does NOT append the filename
- automatically. You can append it yourself with another backquote-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Djinn 4.3 +/- 0.3 manual (p.19)
-
-
- command, of course. There is one backquote command (`x) which does
- 4
- nothing but inhibit adding the filename.
- `f --- filename.ext (File)
- `a --- path\filename.ext (All)
- `p --- path (Path)
- `n --- filename (Name)
- `e --- ext (Extension)
- `` --- ` (to insert a backquote)
- `x --- (this does nothing, but prevents Djinn from appending the
- filename)
-
-
- 3.13 Hairy Details of Commands
-
-
- ^B:
- Make a .BAT file involving the tagged files. This is a very
- strong and versatile and somewhat awkward way to simulate mass
- 5
- commands that Djinn doesn't have. For each tagged file
-
- FILENAME.EXT,
-
- it creates a line:
-
- initial-text FILENAME.EXT final-text
-
- It prompts for the name of the file, the initial, and the
- final text. Either (or both) of the texts may be blank. (The
- command does put blanks between the texts and the filename, and
- at the moment there is no way to prevent it.). You have a
- choice (given in a prompt) whether to use the full pathnames
- (A:\FOO\FILENAME.EXT) or just names (FILENAME.EXT).
- For example, you could print several files by setting
- initial-text = A:PRINT.
- After doing this, it asks you if you want to
-
- [Run], D[elete], B[oth], N[either], or E[dit]
-
- R[un]ning (the default) it will run it (with no arguments) and
- leave it in the directory.
- D[eleting] it will NOT run it; it's a way of cancelling a
- mistake
- B[oth] will run it and delete it -- good for one-shot batch
- jobs
-
- -----------
-
- 4. You can use backquote sequences in the ' (execute DOS command on
- current file) command, but it is generally better to use the ^R
- (insert filename) and ^G (insert path) input-editor commands.
-
- 5. Among other uses. Anything I spent so much time writing has got to
- have other uses.
-
-
-
-
-
-
-
-
- Djinn 4.3 +/- 0.3 manual (p.20)
-
-
- N[either] will leave it on disk without executing it.
- E[dit] runs the editor on it. When you are finished, you can
- [Run] (etc) it.
- You can run it later with arguments by pointing to it and
- using ^S, or without arguments by B.
- Typical uses of this are collecting a group of files and
- doing several things with them. For example, the public domain
- program ARC collects and compresses groups of files for
- archiving and distributing. Djinn does not have ARCing
- commands. If you want to create an archive file (say
- WOMBAT.ARC) of the tagged files, and if you have the ARC
- program, you can create a batch file with
-
- initial text = ARC A WOMBAT.ARC
- final text = (nothing)
-
- Then, run and delete this file (option B[oth]).
-
- C, ^C, R, ^R names:
-
- There are some useful tricks for copying several files and
- changing their names. The symbol "*" refers to the full
- filename (with extension). The symbol "<" is just the filename,
- 6
- and ">" is just the extension. So, you can copy DJINN.COM to
- E:\<\*, which makes a copy in the directory DJINN. You can copy
- files to <1.>, which sticks a "1" at the end of the filename;
- good for making backup files, unless the filenames have eight
- letters.
- Exception: "*." acts like "<.", ".*" acts like ".>", and
- "*.*" like "*". This exception agrees with DOS usage, and you
- can copy a file to E:*.* to make a copy with the same name on
- the E: drive and not have to remember this eccentric usage.
-
- C, ^C: When you try to overwrite an existing file (and UNSAFECOPY=NO),
- you have six choices. "yes" and "no" are clear. "All" is like
- saying "yes" to all later overwrites in this mass command.
- "Quit" stops the mass copy. "Rename dest" lets you rename the
- file you were about to overwrite. "Give new dest" lets you give
- a new name to copy to.
-
- O: Tell how much space is left on a drive.
-
- ^O: Tell how much space is left for programs running under Djinn in your
- machine. This also tells how much space Djinn has left; this
- amount determines how fast copy is. In some version, you may
- have some control over how space is allocated.
-
- P, ^P: Raw View File. These type a file on the screen without changing
- control characters. This can be good; if you try to type a file
-
- -----------
-
- 6. Remember those as "left part" for "<" and "right part" for ">". Or
- don't remember them at all, since it is but a minor convenience.
-
-
-
-
-
-
-
-
- Djinn 4.3 +/- 0.3 manual (p.21)
-
-
- and see a lot of ^I's, P will treat them as tabs. On the other
- hand, it can be extremely dangerous. Most screens are controlled
- by escape sequences. If the file has escape sequences in it,
- printing them raw can really screw up your screen -- or even
- crash your computer. You can toggle between raw and cooked mode
- by the "t" option.
-
- V,^V,P,^P: View File. This cooks control and meta characters as follows:
-
- Control characters are printed as ^C
- Delete (ASCII 127) is ^?
- Meta characters, (ASCII 128+c) ~c (so, ASCII
- 129 is ~^A)
- TAB, ^I, is not cooked.
-
- The full list of options is:
- x ----- quit; go back to Djinn's top level
- s ----- skip some number of lines. This asks for the number.
- f ----- look for a string. Asks for the string. Ignores case.
- p ----- pattern find. See below
- t ----- toggle raw/cooked characters. Makes V act like P and
- vice versa
- r ----- restart this file from the beginning again.
- g ----- go to a given line. You *can* move backwards with this.
- b ----- skip backwards. You tell how many lines
- v ----- backwards [roughly] one page.
- m ----- mode change. Lets you look at the file bytewise. See
- "$".
- ? ----- help. (A bit sketchy)
- OTHER - go on with the next 20 (or whatever) lines.
-
- V,^V,P,^P: (Finding strings and patterns.) You may search forward
- during viewing, for either a string (F) or pattern (P). Djinn
- stops every 100 lines to ask if you want to continue; if you do
- not, it starts printing from there. (The FINDPAUSE and
- FINDMESSAGE options control this behavior. FINDPAUSE = NO has
- Djinn merely print a message, rather than asking to stop.
- FINDMESSAGE = n changes 100 to n. The patterns for P can
- include * (which matches any string of characters) and ? (which
- matches any single character), like the patterns for filenames.
- Normally the pattern find assumes that the string starts at the
- beginning of the line; if you want to find it anywhere in the
- line, start it with a *.
-
- V,^V,P,^P: (Moving around) Djinn remembers as much of the file as it
- can, about seventy lines. You can move around inside this range
- without rereading any of the file. In particular, the V command
- (back one page, to reread something that has scrolled off the
- screen) is fast.
-
- $: General File View. MS-DOS used to mark the end of a text file by a
- ^Z character, and many programs still do so. The V-type
- commands stop at ^Z's (because Turbo does, not because I want
- to). If you have a file that has ^Z's inside it, and you want
- to read past them, you can use the $ command. You can specify
-
-
-
-
-
-
-
-
- Djinn 4.3 +/- 0.3 manual (p.22)
-
-
- Raw (P-style), and/or Byte (skip ^Z). If you press <CR> twice,
- you have precisely the effect of V (viewing the current file).
- If you ask for Bytes, you will read past ^Z's. No, your
- computer hasn't crashed -- Byte mode is a *lot* slower than
- normal mode.
-
- P,^P: Djinn can easily get messed up in its line count if the file has
- escape sequences, line feeds, form feeds, and such in it. Of
- course, your computer can get messed up by escape sequences (ESC
- c can crash a Rainbow). V and ^V are safe.
-
- ^: Load and Execute. This acts like the S (system command) command,
- except that it tries not to load COMMAND.COM. This should have
- consequences:
-
- 1. It loads somewhat faster, expecially if you type
- the .COM or .EXE extension. (If you don't,
- Djinn has to make sure that it exists).
-
- 2. It takes about 16K less memory
-
- 3. It can execute files in any directory. You can
- "^"-execute A:\ARC\ARC, even if you couldn't
- type this directly to DOS.
-
- Unfortunately, it has behaved somewhat erratically.
- Occasionally after using it, various programs can't find files.
- I don't know why.
-
- ): Send Escape Sequence. You type a string; Djinn prints that string
- preceded by an ESCAPE. Do not use this unless you know what you
- are doing. This is especially useful on the Rainbow, which
- knows a lot of escape sequences. For example, ESC = turns the
- numeric keys into function keys, and ESC > turns them back. ESC
- c crashes the Rainbow.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Djinn 4.3 +/- 0.3 manual (p.23)
-
-
-
-
-
-
- List of Commands
-
-
- MOVING THE CURSOR
- Arrow keys (IBM and Rainbow)
- I, ^I
- J,^J K,^K
- <sp>,^M
- F: Find File by typing part of the name.
- ^F: Find a file matching the last pattern for F.
- ,: Go to upper left hand corner of the screen.
-
- CHANGING DIRECTORIES
- G: Go to drive and path. (May be used at [smite thou a key])
- H: Go to drive (May be used at [smite thou a key])
- L: Descend into directory. ½Find╗
- .: Ascend directory
- W: Where is file; looks for a filename under the current directory
- ^W: Where is file; looks for a filename under some directory
- [: Remember this directory
- ]: Go to remembered directory (and save current, so you can get back)
-
- FILE MANAGEMENT
- C: Copy file
- ^C: Mass copy
- D: Delete File ½Remove╗
- ^D: Mass Delete
- R: Rename/Move (on drive) file
- ^R: Mass Rename/Move
- V: View File ½Next Screen╗
- ^V: Remote View File
- P: Raw View File
- ^P: Remote Raw View File
- Y: Copy File to Drive
- ^Y: Mass Copy to Drive
- \: Make Directory
-
- TAGGING FILES
- T: Tag this file ½Select╗
- ^T: Tag pattern
- U: Untag this file ½Prev Screen╗
- ^U: Untag pattern
- ^H: Retag files
-
- FILE CREATION AND MODIFICATION
- E: Edit current file ½Insert Here╗
- ^E: Edit any file.
- M: Make file.
- ^B: Create .BAT file
-
- RUNNING PROGRAMS
-
-
-
-
-
-
-
-
- Djinn 4.3 +/- 0.3 manual (p.24)
-
-
- 0-9: Run a DOS program on current file
- B: Execute the current file as a command without arguments ½Do╗
- ': Execute a DOS command on the current file
- ": Execute a DOS command, '-style, on each tagged file
- S: DOS System command. (except for SET)
- ^S: Run the current file as a system command, asking for arguments
- ^G: Push to inferior DOS shell.
- ^: Load and Execute Program. (? unsafe ?)
-
- MISC
- N: Calculate one thing
- ^N: Calculate many things
- X: Exit
- ^X: Reread DJINN.CNF and [possibly] change switches
- -: Redraw Screen
- =: Information about current file
- ~: Set File Attributes
- _: Mass Set File Attributes
- {,}: Manipulate Large Directory (badly)
- ?: Help
- /: Restrict Files
- ;: Look at new disk in current drive.
- O: Tell how much space is left on a drive
- ^O: Tell how much memory is left on your computer
- ): Send Escape Sequence
- &: Status Report
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Djinn 4.3 +/- 0.3 manual (p.25)
-
-
- ^Z: Define Macro
-
-
- 3.14 Djinn's Input Editor
-
-
- +------------------+-----------------+-----------------+
- | Find ^K| Insert Here ^A| Remove ^E|
- |Del to End of Line| Move to Start | Move to End |
- +------------------+-----------------+-----------------+
- | Select ^D| Prev Screen ^W| Next Screen ^Y|
- |Delete Character | Left Word | Right Word |
- +------------------+-----------------+-----------------+
- | ^ ^P|
- | Up History |
- +------------------+-----------------+-----------------+
- | <- ^B| V ^N| -> ^F|
- | Left Character | Down History | Right Character |
- +------------------+-----------------+-----------------+
-
- ½BS╗ (½F12╗), ^H : Delete Last Word
- ½Addtnl Options╗,^V : Delete Next Word
- ½Exit╗,^X : Delete Entire Line
- ½Cancel╗,^Z : Delete Entire Line and Cancel Command
- ½Tab╗,^I : Exchange Last Two Characters (fix typso)
- ^Q : Insert control character.
- ^R : Insert current file name
- ^G : Insert current path
- ½Do╗,^J : Undelete
-
-
- ½Return╗ accepts what you have typed, sending it to Djinn. It
- works even in the middle of a line.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Table of Contents
-
-
-
-
-
- Chapter 1 Introduction 2
- 1.1 Requirements . . . . . . . . . . . . . . . . . . . 2
- 1.2 Starting Djinn the First Time . . . . . . . . . . . 2
-
- Chapter 2 Using Djinn 4
- 2.1 The Screen . . . . . . . . . . . . . . . . . . . . 4
- 2.2 Aborting Things . . . . . . . . . . . . . . . . . . 5
- 2.3 The Input Editor . . . . . . . . . . . . . . . . . 5
- 2.4 The Most Useful Commands . . . . . . . . . . . . . 5
- 2.4.1 Moving the Cursor . . . . . . . . . . . . . . 6
- 2.4.2 Changing Directories . . . . . . . . . . . . . 6
- 2.4.3 File Management . . . . . . . . . . . . . . . 7
- 2.4.4 Tagging Files . . . . . . . . . . . . . . . . 8
- 2.4.5 File Creation and Modification . . . . . . . . 9
- 2.4.6 Running Programs . . . . . . . . . . . . . . . 9
- 2.4.7 Misc . . . . . . . . . . . . . . . . . . . . . 10
-
- Chapter 3 Unusual Cases 11
- 3.1 Handling Huge Directories . . . . . . . . . . . . . 11
- 3.2 The Vaguely Scientific Calculator . . . . . . . . . 11
- 3.3 Hints . . . . . . . . . . . . . . . . . . . . . . . 13
- 3.4 Doing Unusual Things with Djinn . . . . . . . . . . 13
- 3.5 Things you can do with DJINN.CNF . . . . . . . . . 13
- 3.6 Bugs and Unpleasant Features . . . . . . . . . . . 15
- 3.7 Credits . . . . . . . . . . . . . . . . . . . . . . 15
- 3.8 Conditions . . . . . . . . . . . . . . . . . . . . 15
- 3.9 Non-Warranty . . . . . . . . . . . . . . . . . . . 16
- 3.10 Plea for Money . . . . . . . . . . . . . . . . . . 16
- 3.11 About the Djinn . . . . . . . . . . . . . . . . . 16
- 3.12 Macros . . . . . . . . . . . . . . . . . . . . . . 18
- 3.13 Hairy Details of Commands . . . . . . . . . . . . 19
- 3.14 Djinn's Input Editor . . . . . . . . . . . . . . . 24
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- i
-
-
-
-